function func237(e, t, o) {
    "use strict";
    o.r(t), o.d(t, "CANCEL", (function() {
      return i
    })), o.d(t, "SAGA_LOCATION", (function() {
      return u
    })), o.d(t, "buffers", (function() {
      return j
    })), o.d(t, "detach", (function() {
      return J
    })), o.d(t, "END", (function() {
      return ce
    })), o.d(t, "channel", (function() {
      return ge
    })), o.d(t, "eventChannel", (function() {
      return Se
    })), o.d(t, "isEnd", (function() {
      return ue
    })), o.d(t, "multicastChannel", (function() {
      return Ne
    })), o.d(t, "runSaga", (function() {
      return ve
    })), o.d(t, "stdChannel", (function() {
      return Ae
    }));
    var n = function(e) {
        return "@@redux-saga/" + e
      },
      i = n("CANCEL_PROMISE"),
      a = n("CHANNEL_END"),
      r = n("IO"),
      l = n("MATCH"),
      s = n("MULTICAST"),
      E = n("SAGA_ACTION"),
      O = n("SELF_CANCELLATION"),
      _ = n("TASK"),
      T = n("TASK_CANCEL"),
      c = n("TERMINATE"),
      u = n("LOCATION"),
      g = o(1),
      S = o(2),
      N = function(e) {
        return null == e
      },
      A = function(e) {
        return null != e
      },
      d = function(e) {
        return "function" == typeof e
      },
      R = function(e) {
        return "string" == typeof e
      },
      h = Array.isArray,
      p = function(e) {
        return e && d(e.then)
      },
      I = function(e) {
        return e && d(e.next) && d(e.throw)
      },
      C = function(e) {
        return Boolean(e) && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype
      };
    var L = function(e) {
        return function() {
          return e
        }
      }(!0),
      m = function() {};
    var f = function(e) {
      return e
    };
    "function" == typeof Symbol && Symbol.asyncIterator && Symbol.asyncIterator;
    var y = function(e, t) {
      Object(g.a)(e, t), Object.getOwnPropertySymbols && Object.getOwnPropertySymbols(t)
        .forEach((function(o) {
          e[o] = t[o]
        }))
    };
  
    function D(e, t) {
      var o = e.indexOf(t);
      o >= 0 && e.splice(o, 1)
    }
  
    function k(e) {
      var t = !1;
      return function() {
        t || (t = !0, e())
      }
    }
    var B = function(e) {
        throw e
      },
      M = function(e) {
        return {
          value: e,
          done: !0
        }
      };
  
    function v(e, t, o) {
      void 0 === t && (t = B), void 0 === o && (o = "iterator");
      var n = {
        meta: {
          name: o
        },
        next: e,
        throw: t,
        return: M,
        isSagaIterator: !0
      };
      return "undefined" != typeof Symbol && (n[Symbol.iterator] = function() {
        return n
      }), n
    }
  
    function P(e, t) {
      var o = t.sagaStack;
      console.error(e), console.error(o)
    }
    var b = function(e) {
        return Array.apply(null, new Array(e))
      },
      G = function(e) {
        return function(t) {
          return e(Object.defineProperty(t, E, {
            value: !0
          }))
        }
      },
      U = function(e) {
        return e === c
      },
      F = function(e) {
        return e === T
      },
      H = function(e) {
        return U(e) || F(e)
      };
  
    function w(e, t) {
      var o = Object.keys(e),
        n = o.length;
      var i, a = 0,
        r = h(e) ? b(n) : {},
        l = {};
      return o.forEach((function(e) {
        var o = function(o, l) {
          i || (l || H(o) ? (t.cancel(), t(o, l)) : (r[e] = o, ++a === n && (i = !0, t(r))))
        };
        o.cancel = m, l[e] = o
      })), t.cancel = function() {
        i || (i = !0, o.forEach((function(e) {
          return l[e].cancel()
        })))
      }, l
    }
  
    function K(e) {
      return {
        name: e.name || "anonymous",
        location: x(e)
      }
    }
  
    function x(e) {
      return e[u]
    }
    var W = {
      isEmpty: L,
      put: m,
      take: m
    };
  
    function V(e, t) {
      void 0 === e && (e = 10);
      var o = new Array(e),
        n = 0,
        i = 0,
        a = 0,
        r = function(t) {
          o[i] = t, i = (i + 1) % e, n++
        },
        l = function() {
          if (0 != n) {
            var t = o[a];
            return o[a] = null, n--, a = (a + 1) % e, t
          }
        },
        s = function() {
          for (var e = []; n;) e.push(l());
          return e
        };
      return {
        isEmpty: function() {
          return 0 == n
        },
        put: function(l) {
          var E;
          if (n < e) r(l);
          else switch (t) {
            case 1:
              throw new Error("Channel's Buffer overflow!");
            case 3:
              o[i] = l, a = i = (i + 1) % e;
              break;
            case 4:
              E = 2 * e, o = s(), n = o.length, i = o.length, a = 0, o.length = E, e = E, r(l)
          }
        },
        take: l,
        flush: s
      }
    }
    var Y = function() {
        return W
      },
      X = function(e) {
        return V(e, 4)
      },
      j = Object.freeze({
        __proto__: null,
        none: Y,
        fixed: function(e) {
          return V(e, 1)
        },
        dropping: function(e) {
          return V(e, 2)
        },
        sliding: function(e) {
          return V(e, 3)
        },
        expanding: X
      }),
      z = function(e, t) {
        var o;
        return (o = {})[r] = !0, o.combinator = !1, o.type = e, o.payload = t, o
      },
      J = function(e) {
        return z("FORK", Object(g.a)({}, e.payload, {
          detached: !0
        }))
      };
    var q = o(35);
  
    function Z() {
      var e = {};
      return e.promise = new Promise((function(t, o) {
        e.resolve = t, e.reject = o
      })), e
    }
    var Q = Z,
      $ = [],
      ee = 0;
  
    function te(e) {
      try {
        ie(), e()
      } finally {
        ae()
      }
    }
  
    function oe(e) {
      $.push(e), ee || (ie(), re())
    }
  
    function ne(e) {
      try {
        return ie(), e()
      } finally {
        re()
      }
    }
  
    function ie() {
      ee++
    }
  
    function ae() {
      ee--
    }
  
    function re() {
      var e;
      for (ae(); !ee && void 0 !== (e = $.shift());) te(e)
    }
    var le = function(e) {
        return function(t) {
          return e.some((function(e) {
            return Te(e)(t)
          }))
        }
      },
      se = function(e) {
        return function(t) {
          return e(t)
        }
      },
      Ee = function(e) {
        return function(t) {
          return t.type === String(e)
        }
      },
      Oe = function(e) {
        return function(t) {
          return t.type === e
        }
      },
      _e = function() {
        return L
      };
  
    function Te(e) {
      var t, o = "*" === e ? _e : R(e) ? Ee : h(e) ? le : d(t = e) && t.hasOwnProperty("toString") ? Ee : d(e) ? se : C(e) ? Oe : null;
      if (null === o) throw new Error("invalid pattern: " + e);
      return o(e)
    }
    var ce = {
        type: a
      },
      ue = function(e) {
        return e && e.type === a
      };
  
    function ge(e) {
      void 0 === e && (e = X());
      var t = !1,
        o = [];
      return {
        take: function(n) {
          t && e.isEmpty() ? n(ce) : e.isEmpty() ? (o.push(n), n.cancel = function() {
            D(o, n)
          }) : n(e.take())
        },
        put: function(n) {
          if (!t) {
            if (0 === o.length) return e.put(n);
            o.shift()(n)
          }
        },
        flush: function(o) {
          t && e.isEmpty() ? o(ce) : o(e.flush())
        },
        close: function() {
          if (!t) {
            t = !0;
            var e = o;
            o = [];
            for (var n = 0, i = e.length; n < i; n++) {
              (0, e[n])(ce)
            }
          }
        }
      }
    }
  
    function Se(e, t) {
      void 0 === t && (t = Y());
      var o, n = !1,
        i = ge(t),
        a = function() {
          n || (n = !0, d(o) && o(), i.close())
        };
      return o = k(o = e((function(e) {
        ue(e) ? a() : i.put(e)
      }))), n && o(), {
        take: i.take,
        flush: i.flush,
        close: a
      }
    }
  
    function Ne() {
      var e, t = !1,
        o = [],
        n = o;
      var i = function() {
          n === o && (n = o.slice())
        },
        a = function() {
          t = !0;
          var e = o = n;
          n = [], e.forEach((function(e) {
            e(ce)
          }))
        };
      return (e = {})[s] = !0, e.put = function(e) {
        if (!t)
          if (ue(e)) a();
          else
            for (var i = o = n, r = 0, s = i.length; r < s; r++) {
              var E = i[r];
              E[l](e) && (E.cancel(), E(e))
            }
      }, e.take = function(e, o) {
        void 0 === o && (o = _e), t ? e(ce) : (e[l] = o, i(), n.push(e), e.cancel = k((function() {
          i(), D(n, e)
        })))
      }, e.close = a, e
    }
  
    function Ae() {
      var e = Ne(),
        t = e.put;
      return e.put = function(e) {
        e[E] ? t(e) : oe((function() {
          t(e)
        }))
      }, e
    }
  
    function de(e, t) {
      var o = e[i];
      d(o) && (t.cancel = o), e.then(t, (function(e) {
        t(e, !0)
      }))
    }
    var Re, he = 0,
      pe = function() {
        return ++he
      };
  
    function Ie(e) {
      e.isRunning() && e.cancel()
    }
    var Ce = ((Re = {})
      .TAKE = function(e, t, o) {
        var n = t.channel,
          i = void 0 === n ? e.channel : n,
          a = t.pattern,
          r = t.maybe,
          l = function(e) {
            e instanceof Error ? o(e, !0) : !ue(e) || r ? o(e) : o(c)
          };
        try {
          i.take(l, A(a) ? Te(a) : null)
        } catch (e) {
          return void o(e, !0)
        }
        o.cancel = l.cancel
      }, Re.PUT = function(e, t, o) {
        var n = t.channel,
          i = t.action,
          a = t.resolve;
        oe((function() {
          var t;
          try {
            t = (n ? n.put : e.dispatch)(i)
          } catch (e) {
            return void o(e, !0)
          }
          a && p(t) ? de(t, o) : o(t)
        }))
      }, Re.ALL = function(e, t, o, n) {
        var i = n.digestEffect,
          a = he,
          r = Object.keys(t);
        if (0 !== r.length) {
          var l = w(t, o);
          r.forEach((function(e) {
            i(t[e], a, l[e], e)
          }))
        } else o(h(t) ? [] : {})
      }, Re.RACE = function(e, t, o, n) {
        var i = n.digestEffect,
          a = he,
          r = Object.keys(t),
          l = h(t) ? b(r.length) : {},
          s = {},
          E = !1;
        r.forEach((function(e) {
          var t = function(t, n) {
            E || (n || H(t) ? (o.cancel(), o(t, n)) : (o.cancel(), E = !0, l[e] = t, o(l)))
          };
          t.cancel = m, s[e] = t
        })), o.cancel = function() {
          E || (E = !0, r.forEach((function(e) {
            return s[e].cancel()
          })))
        }, r.forEach((function(e) {
          E || i(t[e], a, s[e], e)
        }))
      }, Re.CALL = function(e, t, o, n) {
        var i = t.context,
          a = t.fn,
          r = t.args,
          l = n.task;
        try {
          var s = a.apply(i, r);
          if (p(s)) return void de(s, o);
          if (I(s)) return void Me(e, s, l.context, he, K(a), !1, o);
          o(s)
        } catch (e) {
          o(e, !0)
        }
      }, Re.CPS = function(e, t, o) {
        var n = t.context,
          i = t.fn,
          a = t.args;
        try {
          var r = function(e, t) {
            N(e) ? o(t) : o(e, !0)
          };
          i.apply(n, a.concat(r)), r.cancel && (o.cancel = r.cancel)
        } catch (e) {
          o(e, !0)
        }
      }, Re.FORK = function(e, t, o, n) {
        var i = t.context,
          a = t.fn,
          r = t.args,
          l = t.detached,
          s = n.task,
          E = function(e) {
            var t = e.context,
              o = e.fn,
              n = e.args;
            try {
              var i = o.apply(t, n);
              if (I(i)) return i;
              var a = !1;
              return v((function(e) {
                return a ? {
                  value: e,
                  done: !0
                } : (a = !0, {
                  value: i,
                  done: !p(i)
                })
              }))
            } catch (e) {
              return v((function() {
                throw e
              }))
            }
          }({
            context: i,
            fn: a,
            args: r
          }),
          O = function(e, t) {
            return e.isSagaIterator ? {
              name: e.meta.name
            } : K(t)
          }(E, a);
        ne((function() {
          var t = Me(e, E, s.context, he, O, l, void 0);
          l ? o(t) : t.isRunning() ? (s.queue.addTask(t), o(t)) : t.isAborted() ? s.queue.abort(t.error()) : o(t)
        }))
      }, Re.JOIN = function(e, t, o, n) {
        var i = n.task,
          a = function(e, t) {
            if (e.isRunning()) {
              var o = {
                task: i,
                cb: t
              };
              t.cancel = function() {
                e.isRunning() && D(e.joiners, o)
              }, e.joiners.push(o)
            } else e.isAborted() ? t(e.error(), !0) : t(e.result())
          };
        if (h(t)) {
          if (0 === t.length) return void o([]);
          var r = w(t, o);
          t.forEach((function(e, t) {
            a(e, r[t])
          }))
        } else a(t, o)
      }, Re.CANCEL = function(e, t, o, n) {
        var i = n.task;
        t === O ? Ie(i) : h(t) ? t.forEach(Ie) : Ie(t), o()
      }, Re.SELECT = function(e, t, o) {
        var n = t.selector,
          i = t.args;
        try {
          o(n.apply(void 0, [e.getState()].concat(i)))
        } catch (e) {
          o(e, !0)
        }
      }, Re.ACTION_CHANNEL = function(e, t, o) {
        var n = t.pattern,
          i = ge(t.buffer),
          a = Te(n),
          r = function t(o) {
            ue(o) || e.channel.take(t, a), i.put(o)
          },
          l = i.close;
        i.close = function() {
          r.cancel(), l()
        }, e.channel.take(r, a), o(i)
      }, Re.CANCELLED = function(e, t, o, n) {
        o(n.task.isCancelled())
      }, Re.FLUSH = function(e, t, o) {
        t.flush(o)
      }, Re.GET_CONTEXT = function(e, t, o, n) {
        o(n.task.context[t])
      }, Re.SET_CONTEXT = function(e, t, o, n) {
        var i = n.task;
        y(i.context, t), o()
      }, Re);
  
    function Le(e, t) {
      return e + "?" + t
    }
  
    function me(e) {
      var t = e.name,
        o = e.location;
      return o ? t + "  " + Le(o.fileName, o.lineNumber) : t
    }
    var fe = null,
      ye = [],
      De = function() {
        fe = null, ye.length = 0
      },
      ke = function() {
        var e, t, o, n, i, a, r, l = ye[0],
          s = ye.slice(1),
          E = l.crashedEffect ? (e = l.crashedEffect, (t = x(e)) ? t.code + "  " + Le(t.fileName, t.lineNumber) : "") : null;
        return ["The above error occurred in task " + me(l.meta) + (E ? " \nwhen executing effect " + E : "")].concat(s.map((function(e) {
            return "    created by " + me(e.meta)
          })), [(o = ye, n = function(e) {
              return e.cancelledTasks
            }, i = o, r = (a = [])
            .concat.apply(a, i.map(n)), r.length ? ["Tasks cancelled due to error:"].concat(r)
            .join("\n") : "")])
          .join("\n")
      };
  
    function Be(e, t, o, n, i, a, r) {
      var l;
      void 0 === r && (r = m);
      var s, E, O = 0,
        c = null,
        u = [],
        g = Object.create(o),
        S = function(e, t, o) {
          var n, i = [],
            a = !1;
  
          function r(e) {
            t(), s(), o(e, !0)
          }
  
          function l(t) {
            i.push(t), t.cont = function(l, s) {
              a || (D(i, t), t.cont = m, s ? r(l) : (t === e && (n = l), i.length || (a = !0, o(n))))
            }
          }
  
          function s() {
            a || (a = !0, i.forEach((function(e) {
              e.cont = m, e.cancel()
            })), i = [])
          }
          return l(e), {
            addTask: l,
            cancelAll: s,
            abort: r,
            getTasks: function() {
              return i
            }
          }
        }(t, (function() {
          u.push.apply(u, S.getTasks()
            .map((function(e) {
              return e.meta.name
            })))
        }), N);
  
      function N(t, o) {
        if (o) {
          if (O = 2, (a = {
              meta: i,
              cancelledTasks: u
            })
            .crashedEffect = fe, ye.push(a), A.isRoot) {
            var n = ke();
            De(), e.onError(t, {
              sagaStack: n
            })
          }
          E = t, c && c.reject(t)
        } else t === T ? O = 1 : 1 !== O && (O = 3), s = t, c && c.resolve(t);
        var a;
        A.cont(t, o), A.joiners.forEach((function(e) {
          e.cb(t, o)
        })), A.joiners = null
      }
      var A = ((l = {})[_] = !0, l.id = n, l.meta = i, l.isRoot = a, l.context = g, l.joiners = [], l.queue = S, l.cancel = function() {
        0 === O && (O = 1, S.cancelAll(), N(T, !1))
      }, l.cont = r, l.end = N, l.setContext = function(e) {
        y(g, e)
      }, l.toPromise = function() {
        return c || (c = Q(), 2 === O ? c.reject(E) : 0 !== O && c.resolve(s)), c.promise
      }, l.isRunning = function() {
        return 0 === O
      }, l.isCancelled = function() {
        return 1 === O || 0 === O && 1 === t.status
      }, l.isAborted = function() {
        return 2 === O
      }, l.result = function() {
        return s
      }, l.error = function() {
        return E
      }, l);
      return A
    }
  
    function Me(e, t, o, n, i, a, l) {
      var s = e.finalizeRunEffect((function(t, o, n) {
        if (p(t)) de(t, n);
        else if (I(t)) Me(e, t, O.context, o, i, !1, n);
        else if (t && t[r]) {
          (0, Ce[t.type])(e, t.payload, n, _)
        } else n(t)
      }));
      c.cancel = m;
      var E = {
          meta: i,
          cancel: function() {
            0 === E.status && (E.status = 1, c(T))
          },
          status: 0
        },
        O = Be(e, E, o, n, i, a, l),
        _ = {
          task: O,
          digestEffect: u
        };
      return l && (l.cancel = O.cancel), c(), O;
  
      function c(e, o) {
        try {
          var i;
          o ? (i = t.throw(e), De()) : F(e) ? (E.status = 1, c.cancel(), i = d(t.return) ? t.return(T) : {
            done: !0,
            value: T
          }) : i = U(e) ? d(t.return) ? t.return() : {
            done: !0
          } : t.next(e), i.done ? (1 !== E.status && (E.status = 3), E.cont(i.value)) : u(i.value, n, c)
        } catch (e) {
          if (1 === E.status) throw e;
          E.status = 2, E.cont(e, !0)
        }
      }
  
      function u(t, o, n, i) {
        void 0 === i && (i = "");
        var a, r = pe();
  
        function l(o, i) {
          a || (a = !0, n.cancel = m, e.sagaMonitor && (i ? e.sagaMonitor.effectRejected(r, o) : e.sagaMonitor.effectResolved(r, o)), i && function(e) {
            fe = e
          }(t), n(o, i))
        }
        e.sagaMonitor && e.sagaMonitor.effectTriggered({
          effectId: r,
          parentEffectId: o,
          label: i,
          effect: t
        }), l.cancel = m, n.cancel = function() {
          a || (a = !0, l.cancel(), l.cancel = m, e.sagaMonitor && e.sagaMonitor.effectCancelled(r))
        }, s(t, r, l)
      }
    }
  
    function ve(e, t) {
      var o = e.channel,
        n = void 0 === o ? Ae() : o,
        i = e.dispatch,
        a = e.getState,
        r = e.context,
        l = void 0 === r ? {} : r,
        s = e.sagaMonitor,
        E = e.effectMiddlewares,
        O = e.onError,
        _ = void 0 === O ? P : O;
      for (var T = arguments.length, c = new Array(T > 2 ? T - 2 : 0), u = 2; u < T; u++) c[u - 2] = arguments[u];
      var g = t.apply(void 0, c);
      var S, N = pe();
      if (s && (s.rootSagaStarted = s.rootSagaStarted || m, s.effectTriggered = s.effectTriggered || m, s.effectResolved = s.effectResolved || m, s.effectRejected = s.effectRejected || m, s.effectCancelled = s.effectCancelled || m, s.actionDispatched = s.actionDispatched || m, s.rootSagaStarted({
        effectId: N,
        saga: t,
        args: c
      })), E) {
        var A = q.compose.apply(void 0, E);
        S = function(e) {
          return function(t, o, n) {
            return A((function(t) {
              return e(t, o, n)
            }))(t)
          }
        }
      } else S = f;
      var d = {
        channel: n,
        dispatch: G(i),
        getState: a,
        sagaMonitor: s,
        onError: _,
        finalizeRunEffect: S
      };
      return ne((function() {
        var e = Me(d, g, l, N, K(t), !0, void 0);
        return s && s.effectResolved(N, e), e
      }))
    }
    var Pe = function(e) {
      var t, o = void 0 === e ? {} : e,
        n = o.context,
        i = void 0 === n ? {} : n,
        a = o.channel,
        r = void 0 === a ? Ae() : a,
        l = o.sagaMonitor,
        s = Object(S.a)(o, ["context", "channel", "sagaMonitor"]);
  
      function E(e) {
        var o = e.getState,
          n = e.dispatch;
        return t = ve.bind(null, Object(g.a)({}, s, {
            context: i,
            channel: r,
            dispatch: n,
            getState: o,
            sagaMonitor: l
          })),
          function(e) {
            return function(t) {
              l && l.actionDispatched && l.actionDispatched(t);
              var o = e(t);
              return r.put(t), o
            }
          }
      }
      return E.run = function() {
        return t.apply(void 0, arguments)
      }, E.setContext = function(e) {
        y(i, e)
      }, E
    };
    t.default = Pe
  }